Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

444
Visualizações
Problema con la carga del "módulo ES" al importar en el nodo js

Así que actualmente estoy practicando con un bot comercial en un casco. Mi problema es que cuando quiero ejecutar mi script aparece este error:

 import './ABIConstants.js'; ^^^^^^ SyntaxError: Cannot use import statement outside a module

con esta sugerencia:

 (node:1284) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.

Sin embargo, cuando hago lo que me dice y configuro "tipo": "módulo" me sale este error:

 hardhat.config.js is treated as an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which declares all .js files in that package scope as ES modules. Instead rename hardhat.config.js to end in .cjs, change the requiring code to use dynamic import() which is avakage.json to treat all .js files as CommonJS (using .mjs for all ES modules instead).

Y los errores siguen como hago lo anterior....etc....

¿Cómo puedo solucionar esto?

Aquí está el comando que estoy usando para ejecutar el script si ayuda

 npx hardhat run scripts/ArbitrageBot.js
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Hay dos tipos de módulos en nodejs: el CommonJS más antiguo que usa require() para cargar otros módulos de CommonJS y el ESM más nuevo que usa import para cargar otros módulos de ESM. Hay algunas formas de mezclar y combinar tipos de módulos, pero eso requiere algunos conocimientos adicionales y siempre es más fácil si todos los módulos de su proyecto son del mismo tipo. Entonces, para que podamos ofrecer consejos específicos sobre su proyecto, necesitamos saber todo lo que está tratando de usar en su proyecto y qué tipo de módulo son todos.

El error específico que informa primero en su pregunta se debe a que está tratando de usar la import para cargar otros módulos desde un archivo que nodejs asume que es un módulo CommonJS y no lo permitirá. Si todo con lo que está programando son módulos CommonJS, cambie para usar require() para cargar su módulo en lugar de import . Pero, si no todo son módulos CommonJS, entonces puede ser un poco más complicado.

La extensión de archivo ( .mjs o .cjs ) puede forzar un tipo de módulo o el "type": xxx en el paquete.json puede forzar un tipo. De forma predeterminada, sin ninguno de los dos en su lugar, nodejs asume que su módulo de nivel superior con una extensión .js es un módulo CommonJS donde usaría require() para cargar otros módulos CommonJS.

El segundo error que recibe cuando intenta forzar que su módulo de nivel superior sea un módulo ESM hace que parezca que el módulo que está tratando de importar es un módulo CommonJS.

Entonces, si tuviera que adivinar, diría que el archivo que está tratando de importar es un archivo CommonJS y, por lo tanto, la vida sería más fácil si hiciera su archivo de nivel superior CommonJS. Para hacer eso, elimine el "type": "module" de package.json y cambie su import someModule a require(someModule) en su lugar. Esto intentará dejar que todo sean módulos CommonJS.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda